home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / CIncludes / AERegistry.h < prev    next >
C/C++ Source or Header  |  1996-05-01  |  36KB  |  979 lines

  1. /*
  2.      File:        AERegistry.h
  3.  
  4.      Contains:    AppleEvents Registry Interface.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __AEREGISTRY__
  19. #define __AEREGISTRY__
  20.  
  21. #ifndef __TYPES__
  22. #include <Types.h>
  23. #endif
  24. #ifndef __ERRORS__
  25. #include <Errors.h>
  26. #endif
  27. #ifndef __APPLEEVENTS__
  28. #include <AppleEvents.h>
  29. #endif
  30. #ifndef __QUICKDRAW__
  31. #include <Quickdraw.h>
  32. #endif
  33. #ifndef __KEYBOARD__
  34. #include <Keyboard.h>
  35. #endif
  36.  
  37. #ifdef __cplusplus
  38. extern "C" {
  39. #endif
  40.  
  41. #if PRAGMA_IMPORT_SUPPORTED
  42. #pragma import on
  43. #endif
  44.  
  45. #if PRAGMA_ALIGN_SUPPORTED
  46. #pragma options align=mac68k
  47. #endif
  48.  
  49.  
  50. enum {
  51.     cAEList                        = 'list',                        /*  0x6c697374  */
  52.     cApplication                = 'capp',                        /*  0x63617070  */
  53.     cArc                        = 'carc',                        /*  0x63617263  */
  54.     cBoolean                    = 'bool',                        /*  0x626f6f6c  */
  55.     cCell                        = 'ccel',                        /*  0x6363656c  */
  56.     cChar                        = 'cha ',                        /*  0x63686120  */
  57.     cColorTable                    = 'clrt',                        /*  0x636c7274  */
  58.     cColumn                        = 'ccol',                        /*  0x63636f6c  */
  59.     cDocument                    = 'docu',                        /*  0x646f6375  */
  60.     cDrawingArea                = 'cdrw',                        /*  0x63647277  */
  61.     cEnumeration                = 'enum',                        /*  0x656e756d  */
  62.     cFile                        = 'file',                        /*  0x66696c65  */
  63.     cFixed                        = 'fixd',                        /*  0x66697864  */
  64.     cFixedPoint                    = 'fpnt',                        /*  0x66706e74  */
  65.     cFixedRectangle                = 'frct',                        /*  0x66726374  */
  66.     cGraphicLine                = 'glin',                        /*  0x676c696e  */
  67.     cGraphicObject                = 'cgob',                        /*  0x63676f62  */
  68.     cGraphicShape                = 'cgsh',                        /*  0x63677368  */
  69.     cGraphicText                = 'cgtx',                        /*  0x63677478  */
  70.     cGroupedGraphic                = 'cpic'                        /*  0x63706963  */
  71. };
  72.  
  73.  
  74. enum {
  75.     cInsertionLoc                = 'insl',                        /*  0x696e736c  */
  76.     cInsertionPoint                = 'cins',                        /*  0x63696e73  */
  77.     cIntlText                    = 'itxt',                        /*  0x69747874  */
  78.     cIntlWritingCode            = 'intl',                        /*  0x696e746c  */
  79.     cItem                        = 'citm',                        /*  0x6369746d  */
  80.     cLine                        = 'clin',                        /*  0x636c696e  */
  81.     cLongDateTime                = 'ldt ',                        /*  0x6c647420  */
  82.     cLongFixed                    = 'lfxd',                        /*  0x6c667864  */
  83.     cLongFixedPoint                = 'lfpt',                        /*  0x6c667074  */
  84.     cLongFixedRectangle            = 'lfrc',                        /*  0x6c667263  */
  85.     cLongInteger                = 'long',                        /*  0x6c6f6e67  */
  86.     cLongPoint                    = 'lpnt',                        /*  0x6c706e74  */
  87.     cLongRectangle                = 'lrct',                        /*  0x6c726374  */
  88.     cMachineLoc                    = 'mLoc',                        /*  0x6d4c6f63  */
  89.     cMenu                        = 'cmnu',                        /*  0x636d6e75  */
  90.     cMenuItem                    = 'cmen',                        /*  0x636d656e  */
  91.     cObject                        = 'cobj',                        /*  0x636f626a  */
  92.     cObjectSpecifier            = 'obj ',                        /*  0x6f626a20  */
  93.     cOpenableObject                = 'coob',                        /*  0x636f6f62  */
  94.     cOval                        = 'covl'                        /*  0x636f766c  */
  95. };
  96.  
  97.  
  98. enum {
  99.     cParagraph                    = 'cpar',                        /*  0x63706172  */
  100.     cPICT                        = 'PICT',                        /*  0x50494354  */
  101.     cPixel                        = 'cpxl',                        /*  0x6370786c  */
  102.     cPixelMap                    = 'cpix',                        /*  0x63706978  */
  103.     cPolygon                    = 'cpgn',                        /*  0x6370676e  */
  104.     cProperty                    = 'prop',                        /*  0x70726f70  */
  105.     cQDPoint                    = 'QDpt',                        /*  0x51447074  */
  106.     cQDRectangle                = 'qdrt',                        /*  0x71647274  */
  107.     cRectangle                    = 'crec',                        /*  0x63726563  */
  108.     cRGBColor                    = 'cRGB',                        /*  0x63524742  */
  109.     cRotation                    = 'trot',                        /*  0x74726f74  */
  110.     cRoundedRectangle            = 'crrc',                        /*  0x63727263  */
  111.     cRow                        = 'crow',                        /*  0x63726f77  */
  112.     cSelection                    = 'csel',                        /*  0x6373656c  */
  113.     cShortInteger                = 'shor',                        /*  0x73686f72  */
  114.     cTable                        = 'ctbl',                        /*  0x6374626c  */
  115.     cText                        = 'ctxt',                        /*  0x63747874  */
  116.     cTextFlow                    = 'cflo',                        /*  0x63666c6f  */
  117.     cTextStyles                    = 'tsty',                        /*  0x74737479  */
  118.     cType                        = 'type'                        /*  0x74797065  */
  119. };
  120.  
  121.  
  122. enum {
  123.     cVersion                    = 'vers',                        /*  0x76657273  */
  124.     cWindow                        = 'cwin',                        /*  0x6377696e  */
  125.     cWord                        = 'cwor',                        /*  0x63776f72  */
  126.     enumArrows                    = 'arro',                        /*  0x6172726f  */
  127.     enumJustification            = 'just',                        /*  0x6a757374  */
  128.     enumKeyForm                    = 'kfrm',                        /*  0x6b66726d  */
  129.     enumPosition                = 'posi',                        /*  0x706f7369  */
  130.     enumProtection                = 'prtn',                        /*  0x7072746e  */
  131.     enumQuality                    = 'qual',                        /*  0x7175616c  */
  132.     enumSaveOptions                = 'savo',                        /*  0x7361766f  */
  133.     enumStyle                    = 'styl',                        /*  0x7374796c  */
  134.     enumTransferMode            = 'tran',                        /*  0x7472616e  */
  135.     formUniqueID                = 'ID  ',                        /*  0x49442020  */
  136.     kAEAbout                    = 'abou',                        /*  0x61626f75  */
  137.     kAEAfter                    = 'afte',                        /*  0x61667465  */
  138.     kAEAliasSelection            = 'sali',                        /*  0x73616c69  */
  139.     kAEAllCaps                    = 'alcp',                        /*  0x616c6370  */
  140.     kAEArrowAtEnd                = 'aren',                        /*  0x6172656e  */
  141.     kAEArrowAtStart                = 'arst',                        /*  0x61727374  */
  142.     kAEArrowBothEnds            = 'arbo'                        /*  0x6172626f  */
  143. };
  144.  
  145.  
  146. enum {
  147.     kAEAsk                        = 'ask ',                        /*  0x61736b20  */
  148.     kAEBefore                    = 'befo',                        /*  0x6265666f  */
  149.     kAEBeginning                = 'bgng',                        /*  0x62676e67  */
  150.     kAEBeginsWith                = 'bgwt',                        /*  0x62677774  */
  151.     kAEBeginTransaction            = 'begi',                        /*  0x62656769  */
  152.     kAEBold                        = 'bold',                        /*  0x626f6c64  */
  153.     kAECaseSensEquals            = 'cseq',                        /*  0x63736571  */
  154.     kAECentered                    = 'cent',                        /*  0x63656e74  */
  155.     kAEChangeView                = 'view',                        /*  0x76696577  */
  156.     kAEClone                    = 'clon',                        /*  0x636c6f6e  */
  157.     kAEClose                    = 'clos',                        /*  0x636c6f73  */
  158.     kAECondensed                = 'cond',                        /*  0x636f6e64  */
  159.     kAEContains                    = 'cont',                        /*  0x636f6e74  */
  160.     kAECopy                        = 'copy',                        /*  0x636f7079  */
  161.     kAECoreSuite                = 'core',                        /*  0x636f7265  */
  162.     kAECountElements            = 'cnte',                        /*  0x636e7465  */
  163.     kAECreateElement            = 'crel',                        /*  0x6372656c  */
  164.     kAECreatePublisher            = 'cpub',                        /*  0x63707562  */
  165.     kAECut                        = 'cut ',                        /*  0x63757420  */
  166.     kAEDelete                    = 'delo'                        /*  0x64656c6f  */
  167. };
  168.  
  169.  
  170. enum {
  171.     kAEDoObjectsExist            = 'doex',                        /*  0x646f6578  */
  172.     kAEDoScript                    = 'dosc',                        /*  0x646f7363  */
  173.     kAEDrag                        = 'drag',                        /*  0x64726167  */
  174.     kAEDuplicateSelection        = 'sdup',                        /*  0x73647570  */
  175.     kAEEditGraphic                = 'edit',                        /*  0x65646974  */
  176.     kAEEmptyTrash                = 'empt',                        /*  0x656d7074  */
  177.     kAEEnd                        = 'end ',                        /*  0x656e6420  */
  178.     kAEEndsWith                    = 'ends',                        /*  0x656e6473  */
  179.     kAEEndTransaction            = 'endt',                        /*  0x656e6474  */
  180.     kAEEquals                    = '=   ',                        /*  0x3d202020  */
  181.     kAEExpanded                    = 'pexp',                        /*  0x70657870  */
  182.     kAEFast                        = 'fast',                        /*  0x66617374  */
  183.     kAEFinderEvents                = 'FNDR',                        /*  0x464e4452  */
  184.     kAEFormulaProtect            = 'fpro',                        /*  0x6670726f  */
  185.     kAEFullyJustified            = 'full',                        /*  0x66756c6c  */
  186.     kAEGetClassInfo                = 'qobj',                        /*  0x716f626a  */
  187.     kAEGetData                    = 'getd',                        /*  0x67657464  */
  188.     kAEGetDataSize                = 'dsiz',                        /*  0x6473697a  */
  189.     kAEGetEventInfo                = 'gtei',                        /*  0x67746569  */
  190.     kAEGetInfoSelection            = 'sinf'                        /*  0x73696e66  */
  191. };
  192.  
  193.  
  194. enum {
  195.     kAEGetPrivilegeSelection    = 'sprv',                        /*  0x73707276  */
  196.     kAEGetSuiteInfo                = 'gtsi',                        /*  0x67747369  */
  197.     kAEGreaterThan                = '>   ',                        /*  0x3e202020  */
  198.     kAEGreaterThanEquals        = '>=  ',                        /*  0x3e3d2020  */
  199.     kAEGrow                        = 'grow',                        /*  0x67726f77  */
  200.     kAEHidden                    = 'hidn',                        /*  0x6869646e  */
  201.     kAEHiQuality                = 'hiqu',                        /*  0x68697175  */
  202.     kAEImageGraphic                = 'imgr',                        /*  0x696d6772  */
  203.     kAEIsUniform                = 'isun',                        /*  0x6973756e  */
  204.     kAEItalic                    = 'ital',                        /*  0x6974616c  */
  205.     kAELeftJustified            = 'left',                        /*  0x6c656674  */
  206.     kAELessThan                    = '<   ',                        /*  0x3c202020  */
  207.     kAELessThanEquals            = '<=  ',                        /*  0x3c3d2020  */
  208.     kAELowercase                = 'lowc',                        /*  0x6c6f7763  */
  209.     kAEMakeObjectsVisible        = 'mvis',                        /*  0x6d766973  */
  210.     kAEMiscStandards            = 'misc',                        /*  0x6d697363  */
  211.     kAEModifiable                = 'modf',                        /*  0x6d6f6466  */
  212.     kAEMove                        = 'move',                        /*  0x6d6f7665  */
  213.     kAENo                        = 'no  ',                        /*  0x6e6f2020  */
  214.     kAENoArrow                    = 'arno'                        /*  0x61726e6f  */
  215. };
  216.  
  217.  
  218. enum {
  219.     kAENonmodifiable            = 'nmod',                        /*  0x6e6d6f64  */
  220.     kAEOpen                        = 'odoc',                        /*  0x6f646f63  */
  221.     kAEOpenSelection            = 'sope',                        /*  0x736f7065  */
  222.     kAEOutline                    = 'outl',                        /*  0x6f75746c  */
  223.     kAEPageSetup                = 'pgsu',                        /*  0x70677375  */
  224.     kAEPaste                    = 'past',                        /*  0x70617374  */
  225.     kAEPlain                    = 'plan',                        /*  0x706c616e  */
  226.     kAEPrint                    = 'pdoc',                        /*  0x70646f63  */
  227.     kAEPrintSelection            = 'spri',                        /*  0x73707269  */
  228.     kAEPrintWindow                = 'pwin',                        /*  0x7077696e  */
  229.     kAEPutAwaySelection            = 'sput',                        /*  0x73707574  */
  230.     kAEQDAddOver                = 'addo',                        /*  0x6164646f  */
  231.     kAEQDAddPin                    = 'addp',                        /*  0x61646470  */
  232.     kAEQDAdMax                    = 'admx',                        /*  0x61646d78  */
  233.     kAEQDAdMin                    = 'admn',                        /*  0x61646d6e  */
  234.     kAEQDBic                    = 'bic ',                        /*  0x62696320  */
  235.     kAEQDBlend                    = 'blnd',                        /*  0x626c6e64  */
  236.     kAEQDCopy                    = 'cpy ',                        /*  0x63707920  */
  237.     kAEQDNotBic                    = 'nbic',                        /*  0x6e626963  */
  238.     kAEQDNotCopy                = 'ncpy'                        /*  0x6e637079  */
  239. };
  240.  
  241.  
  242. enum {
  243.     kAEQDNotOr                    = 'ntor',                        /*  0x6e746f72  */
  244.     kAEQDNotXor                    = 'nxor',                        /*  0x6e786f72  */
  245.     kAEQDOr                        = 'or  ',                        /*  0x6f722020  */
  246.     kAEQDSubOver                = 'subo',                        /*  0x7375626f  */
  247.     kAEQDSubPin                    = 'subp',                        /*  0x73756270  */
  248.     kAEQDSupplementalSuite        = 'qdsp',                        /*  0x71647370  */
  249.     kAEQDXor                    = 'xor ',                        /*  0x786f7220  */
  250.     kAEQuickdrawSuite            = 'qdrw',                        /*  0x71647277  */
  251.     kAEQuitAll                    = 'quia',                        /*  0x71756961  */
  252.     kAERedo                        = 'redo',                        /*  0x7265646f  */
  253.     kAERegular                    = 'regl',                        /*  0x7265676c  */
  254.     kAEReplace                    = 'rplc',                        /*  0x72706c63  */
  255.     kAERequiredSuite            = 'reqd',                        /*  0x72657164  */
  256.     kAERestart                    = 'rest',                        /*  0x72657374  */
  257.     kAERevealSelection            = 'srev',                        /*  0x73726576  */
  258.     kAERevert                    = 'rvrt',                        /*  0x72767274  */
  259.     kAERightJustified            = 'rght',                        /*  0x72676874  */
  260.     kAESave                        = 'save',                        /*  0x73617665  */
  261.     kAESelect                    = 'slct',                        /*  0x736c6374  */
  262.     kAESetData                    = 'setd'                        /*  0x73657464  */
  263. };
  264.  
  265.  
  266. enum {
  267.     kAESetPosition                = 'posn',                        /*  0x706f736e  */
  268.     kAEShadow                    = 'shad',                        /*  0x73686164  */
  269.     kAEShowClipboard            = 'shcl',                        /*  0x7368636c  */
  270.     kAEShutDown                    = 'shut',                        /*  0x73687574  */
  271.     kAESleep                    = 'slep',                        /*  0x736c6570  */
  272.     kAESmallCaps                = 'smcp',                        /*  0x736d6370  */
  273.     kAESpecialClassProperties    = 'c@#!',                        /*  0x63402321  */
  274.     kAEStrikethrough            = 'strk',                        /*  0x7374726b  */
  275.     kAESubscript                = 'sbsc',                        /*  0x73627363  */
  276.     kAESuperscript                = 'spsc',                        /*  0x73707363  */
  277.     kAETableSuite                = 'tbls',                        /*  0x74626c73  */
  278.     kAETextSuite                = 'TEXT',                        /*  0x54455854  */
  279.     kAETransactionTerminated    = 'ttrm',                        /*  0x7474726d  */
  280.     kAEUnderline                = 'undl',                        /*  0x756e646c  */
  281.     kAEUndo                        = 'undo',                        /*  0x756e646f  */
  282.     kAEWholeWordEquals            = 'wweq',                        /*  0x77776571  */
  283.     kAEYes                        = 'yes ',                        /*  0x79657320  */
  284.     kAEZoom                        = 'zoom'                        /*  0x7a6f6f6d  */
  285. };
  286.  
  287. /* EventRecord Classes and EventIDs */
  288.  
  289. enum {
  290.     kAEMouseClass                = 'mous',
  291.     kAEDown                        = 'down',
  292.     kAEUp                        = 'up  ',
  293.     kAEMoved                    = 'move',
  294.     kAEStoppedMoving            = 'stop',
  295.     kAEWindowClass                = 'wind',
  296.     kAEUpdate                    = 'updt',
  297.     kAEActivate                    = 'actv',
  298.     kAEDeactivate                = 'dact',
  299.     kAECommandClass                = 'cmnd',                        /* Modern Command Event Class */
  300.     kAEKeyClass                    = 'keyc',
  301.     kAERawKey                    = 'rkey',                        /* Modern Raw Key Event */
  302.     kAEVirtualKey                = 'keyc',                        /* Modern Virtual Key Event */
  303.     kAENavigationKey            = 'nave',                        /* Modern Navigation Key Event */
  304.     kAEAutoDown                    = 'auto',
  305.     kAEApplicationClass            = 'appl',
  306.     kAESuspend                    = 'susp',
  307.     kAEResume                    = 'rsme',
  308.     kAEDiskEvent                = 'disk',
  309.     kAENullEvent                = 'null',
  310.     kAEWakeUpEvent                = 'wake',
  311.     kAEScrapEvent                = 'scrp',
  312.     kAEHighLevel                = 'high'
  313. };
  314.  
  315.  
  316. enum {
  317.     keyAEAngle                    = 'kang',                        /*  0x6b616e67  */
  318.     keyAEArcAngle                = 'parc'                        /*  0x70617263  */
  319. };
  320.  
  321.  
  322. enum {
  323.     keyAEBaseAddr                = 'badd',                        /*  0x62616464  */
  324.     keyAEBestType                = 'pbst',                        /*  0x70627374  */
  325.     keyAEBgndColor                = 'kbcl',                        /*  0x6b62636c  */
  326.     keyAEBgndPattern            = 'kbpt',                        /*  0x6b627074  */
  327.     keyAEBounds                    = 'pbnd',                        /*  0x70626e64  */
  328.     keyAECellList                = 'kclt',                        /*  0x6b636c74  */
  329.     keyAEClassID                = 'clID',                        /*  0x636c4944  */
  330.     keyAEColor                    = 'colr',                        /*  0x636f6c72  */
  331.     keyAEColorTable                = 'cltb',                        /*  0x636c7462  */
  332.     keyAECurveHeight            = 'kchd',                        /*  0x6b636864  */
  333.     keyAECurveWidth                = 'kcwd',                        /*  0x6b637764  */
  334.     keyAEDashStyle                = 'pdst',                        /*  0x70647374  */
  335.     keyAEData                    = 'data',                        /*  0x64617461  */
  336.     keyAEDefaultType            = 'deft',                        /*  0x64656674  */
  337.     keyAEDefinitionRect            = 'pdrt',                        /*  0x70647274  */
  338.     keyAEDescType                = 'dstp',                        /*  0x64737470  */
  339.     keyAEDestination            = 'dest',                        /*  0x64657374  */
  340.     keyAEDoAntiAlias            = 'anta',                        /*  0x616e7461  */
  341.     keyAEDoDithered                = 'gdit',                        /*  0x67646974  */
  342.     keyAEDoRotate                = 'kdrt'                        /*  0x6b647274  */
  343. };
  344.  
  345.  
  346. enum {
  347.     keyAEDoScale                = 'ksca',                        /*  0x6b736361  */
  348.     keyAEDoTranslate            = 'ktra',                        /*  0x6b747261  */
  349.     keyAEEditionFileLoc            = 'eloc',                        /*  0x656c6f63  */
  350.     keyAEElements                = 'elms',                        /*  0x656c6d73  */
  351.     keyAEEndPoint                = 'pend',                        /*  0x70656e64  */
  352.     keyAEEventClass                = 'evcl',                        /*  0x6576636c  */
  353.     keyAEEventID                = 'evti',                        /*  0x65767469  */
  354.     keyAEFile                    = 'kfil',                        /*  0x6b66696c  */
  355.     keyAEFileType                = 'fltp',                        /*  0x666c7470  */
  356.     keyAEFillColor                = 'flcl',                        /*  0x666c636c  */
  357.     keyAEFillPattern            = 'flpt',                        /*  0x666c7074  */
  358.     keyAEFlipHorizontal            = 'kfho',                        /*  0x6b66686f  */
  359.     keyAEFlipVertical            = 'kfvt',                        /*  0x6b667674  */
  360.     keyAEFont                    = 'font',                        /*  0x666f6e74  */
  361.     keyAEFormula                = 'pfor',                        /*  0x70666f72  */
  362.     keyAEGraphicObjects            = 'gobs',                        /*  0x676f6273  */
  363.     keyAEID                        = 'ID  ',                        /*  0x49442020  */
  364.     keyAEImageQuality            = 'gqua',                        /*  0x67717561  */
  365.     keyAEInsertHere                = 'insh',                        /*  0x696e7368  */
  366.     keyAEKeyForms                = 'keyf'                        /*  0x6b657966  */
  367. };
  368.  
  369.  
  370. enum {
  371.     keyAEKeyword                = 'kywd',                        /*  0x6b797764  */
  372.     keyAELevel                    = 'levl',                        /*  0x6c65766c  */
  373.     keyAELineArrow                = 'arro',                        /*  0x6172726f  */
  374.     keyAEName                    = 'pnam',                        /*  0x706e616d  */
  375.     keyAENewElementLoc            = 'pnel',                        /*  0x706e656c  */
  376.     keyAEObject                    = 'kobj',                        /*  0x6b6f626a  */
  377.     keyAEObjectClass            = 'kocl',                        /*  0x6b6f636c  */
  378.     keyAEOffStyles                = 'ofst',                        /*  0x6f667374  */
  379.     keyAEOnStyles                = 'onst',                        /*  0x6f6e7374  */
  380.     keyAEParameters                = 'prms',                        /*  0x70726d73  */
  381.     keyAEParamFlags                = 'pmfg',                        /*  0x706d6667  */
  382.     keyAEPenColor                = 'ppcl',                        /*  0x7070636c  */
  383.     keyAEPenPattern                = 'pppa',                        /*  0x70707061  */
  384.     keyAEPenWidth                = 'ppwd',                        /*  0x70707764  */
  385.     keyAEPixelDepth                = 'pdpt',                        /*  0x70647074  */
  386.     keyAEPixMapMinus            = 'kpmm',                        /*  0x6b706d6d  */
  387.     keyAEPMTable                = 'kpmt',                        /*  0x6b706d74  */
  388.     keyAEPointList                = 'ptlt',                        /*  0x70746c74  */
  389.     keyAEPointSize                = 'ptsz',                        /*  0x7074737a  */
  390.     keyAEPosition                = 'kpos'                        /*  0x6b706f73  */
  391. };
  392.  
  393.  
  394. enum {
  395.     keyAEPropData                = 'prdt',                        /*  0x70726474  */
  396.     keyAEProperties                = 'qpro',                        /*  0x7170726f  */
  397.     keyAEProperty                = 'kprp',                        /*  0x6b707270  */
  398.     keyAEPropFlags                = 'prfg',                        /*  0x70726667  */
  399.     keyAEPropID                    = 'prop',                        /*  0x70726f70  */
  400.     keyAEProtection                = 'ppro',                        /*  0x7070726f  */
  401.     keyAERenderAs                = 'kren',                        /*  0x6b72656e  */
  402.     keyAERequestedType            = 'rtyp',                        /*  0x72747970  */
  403.     keyAEResult                    = '----',                        /*  0x2d2d2d2d  */
  404.     keyAEResultInfo                = 'rsin',                        /*  0x7273696e  */
  405.     keyAERotation                = 'prot',                        /*  0x70726f74  */
  406.     keyAERotPoint                = 'krtp',                        /*  0x6b727470  */
  407.     keyAERowList                = 'krls',                        /*  0x6b726c73  */
  408.     keyAESaveOptions            = 'savo',                        /*  0x7361766f  */
  409.     keyAEScale                    = 'pscl',                        /*  0x7073636c  */
  410.     keyAEScriptTag                = 'psct',                        /*  0x70736374  */
  411.     keyAEShowWhere                = 'show',                        /*  0x73686f77  */
  412.     keyAEStartAngle                = 'pang',                        /*  0x70616e67  */
  413.     keyAEStartPoint                = 'pstp',                        /*  0x70737470  */
  414.     keyAEStyles                    = 'ksty'                        /*  0x6b737479  */
  415. };
  416.  
  417.  
  418. enum {
  419.     keyAESuiteID                = 'suit',                        /*  0x73756974  */
  420.     keyAEText                    = 'ktxt',                        /*  0x6b747874  */
  421.     keyAETextColor                = 'ptxc',                        /*  0x70747863  */
  422.     keyAETextFont                = 'ptxf',                        /*  0x70747866  */
  423.     keyAETextPointSize            = 'ptps',                        /*  0x70747073  */
  424.     keyAETextStyles                = 'txst',                        /*  0x74787374  */
  425.     keyAETextLineHeight            = 'ktlh',                        /* type ShortInteger */
  426.     keyAETextLineAscent            = 'ktas',                        /* type ShortInteger */
  427.     keyAETheText                = 'thtx',                        /*  0x74687478  */
  428.     keyAETransferMode            = 'pptm',                        /*  0x7070746d  */
  429.     keyAETranslation            = 'ptrs',                        /*  0x70747273  */
  430.     keyAETryAsStructGraf        = 'toog',                        /*  0x746f6f67  */
  431.     keyAEUniformStyles            = 'ustl',                        /*  0x7573746c  */
  432.     keyAEUpdateOn                = 'pupd',                        /*  0x70757064  */
  433.     keyAEUserTerm                = 'utrm',                        /*  0x7574726d  */
  434.     keyAEWindow                    = 'wndw',                        /*  0x776e6477  */
  435.     keyAEWritingCode            = 'wrcd'                        /*  0x77726364  */
  436. };
  437.  
  438.  
  439. enum {
  440.     keyMiscellaneous            = 'fmsc',                        /*  0x666d7363  */
  441.     keySelection                = 'fsel',                        /*  0x6673656c  */
  442.     keyWindow                    = 'kwnd',                        /*  0x6b776e64  */
  443.                                                                 /* EventRecord keys */
  444.     keyWhen                        = 'when',
  445.     keyWhere                    = 'wher',
  446.     keyModifiers                = 'mods',
  447.     keyKey                        = 'key ',
  448.     keyKeyCode                    = 'code',
  449.     keyKeyboard                    = 'keyb',
  450.     keyDriveNumber                = 'drv#',
  451.     keyErrorCode                = 'err#',
  452.     keyHighLevelClass            = 'hcls',
  453.     keyHighLevelID                = 'hid '
  454. };
  455.  
  456.  
  457. enum {
  458.     pArcAngle                    = 'parc',                        /*  0x70617263  */
  459.     pBackgroundColor            = 'pbcl',                        /*  0x7062636c  */
  460.     pBackgroundPattern            = 'pbpt',                        /*  0x70627074  */
  461.     pBestType                    = 'pbst',                        /*  0x70627374  */
  462.     pBounds                        = 'pbnd',                        /*  0x70626e64  */
  463.     pClass                        = 'pcls',                        /*  0x70636c73  */
  464.     pClipboard                    = 'pcli',                        /*  0x70636c69  */
  465.     pColor                        = 'colr',                        /*  0x636f6c72  */
  466.     pColorTable                    = 'cltb',                        /*  0x636c7462  */
  467.     pContents                    = 'pcnt',                        /*  0x70636e74  */
  468.     pCornerCurveHeight            = 'pchd',                        /*  0x70636864  */
  469.     pCornerCurveWidth            = 'pcwd',                        /*  0x70637764  */
  470.     pDashStyle                    = 'pdst',                        /*  0x70647374  */
  471.     pDefaultType                = 'deft',                        /*  0x64656674  */
  472.     pDefinitionRect                = 'pdrt',                        /*  0x70647274  */
  473.     pEnabled                    = 'enbl',                        /*  0x656e626c  */
  474.     pEndPoint                    = 'pend',                        /*  0x70656e64  */
  475.     pFillColor                    = 'flcl',                        /*  0x666c636c  */
  476.     pFillPattern                = 'flpt',                        /*  0x666c7074  */
  477.     pFont                        = 'font'                        /*  0x666f6e74  */
  478. };
  479.  
  480.  
  481. enum {
  482.     pFormula                    = 'pfor',                        /*  0x70666f72  */
  483.     pGraphicObjects                = 'gobs',                        /*  0x676f6273  */
  484.     pHasCloseBox                = 'hclb',                        /*  0x68636c62  */
  485.     pHasTitleBar                = 'ptit',                        /*  0x70746974  */
  486.     pID                            = 'ID  ',                        /*  0x49442020  */
  487.     pIndex                        = 'pidx',                        /*  0x70696478  */
  488.     pInsertionLoc                = 'pins',                        /*  0x70696e73  */
  489.     pIsFloating                    = 'isfl',                        /*  0x6973666c  */
  490.     pIsFrontProcess                = 'pisf',                        /*  0x70697366  */
  491.     pIsModal                    = 'pmod',                        /*  0x706d6f64  */
  492.     pIsModified                    = 'imod',                        /*  0x696d6f64  */
  493.     pIsResizable                = 'prsz',                        /*  0x7072737a  */
  494.     pIsStationeryPad            = 'pspd',                        /*  0x70737064  */
  495.     pIsZoomable                    = 'iszm',                        /*  0x69737a6d  */
  496.     pIsZoomed                    = 'pzum',                        /*  0x707a756d  */
  497.     pItemNumber                    = 'itmn',                        /*  0x69746d6e  */
  498.     pJustification                = 'pjst',                        /*  0x706a7374  */
  499.     pLineArrow                    = 'arro',                        /*  0x6172726f  */
  500.     pMenuID                        = 'mnid',                        /*  0x6d6e6964  */
  501.     pName                        = 'pnam'                        /*  0x706e616d  */
  502. };
  503.  
  504.  
  505. enum {
  506.     pNewElementLoc                = 'pnel',                        /*  0x706e656c  */
  507.     pPenColor                    = 'ppcl',                        /*  0x7070636c  */
  508.     pPenPattern                    = 'pppa',                        /*  0x70707061  */
  509.     pPenWidth                    = 'ppwd',                        /*  0x70707764  */
  510.     pPixelDepth                    = 'pdpt',                        /*  0x70647074  */
  511.     pPointList                    = 'ptlt',                        /*  0x70746c74  */
  512.     pPointSize                    = 'ptsz',                        /*  0x7074737a  */
  513.     pProtection                    = 'ppro',                        /*  0x7070726f  */
  514.     pRotation                    = 'prot',                        /*  0x70726f74  */
  515.     pScale                        = 'pscl',                        /*  0x7073636c  */
  516.     pScript                        = 'scpt',                        /*  0x73637074  */
  517.     pScriptTag                    = 'psct',                        /*  0x70736374  */
  518.     pSelected                    = 'selc',                        /*  0x73656c63  */
  519.     pSelection                    = 'sele',                        /*  0x73656c65  */
  520.     pStartAngle                    = 'pang',                        /*  0x70616e67  */
  521.     pStartPoint                    = 'pstp',                        /*  0x70737470  */
  522.     pTextColor                    = 'ptxc',                        /*  0x70747863  */
  523.     pTextFont                    = 'ptxf',                        /*  0x70747866  */
  524.     pTextItemDelimiters            = 'txdl',                        /*  0x7478646c  */
  525.     pTextPointSize                = 'ptps'                        /*  0x70747073  */
  526. };
  527.  
  528.  
  529. enum {
  530.     pTextStyles                    = 'txst',                        /*  0x74787374  */
  531.     pTransferMode                = 'pptm',                        /*  0x7070746d  */
  532.     pTranslation                = 'ptrs',                        /*  0x70747273  */
  533.     pUniformStyles                = 'ustl',                        /*  0x7573746c  */
  534.     pUpdateOn                    = 'pupd',                        /*  0x70757064  */
  535.     pUserSelection                = 'pusl',                        /*  0x7075736c  */
  536.     pVersion                    = 'vers',                        /*  0x76657273  */
  537.     pVisible                    = 'pvis'                        /*  0x70766973  */
  538. };
  539.  
  540.  
  541. enum {
  542.     typeAEText                    = 'tTXT',                        /*  0x74545854  */
  543.     typeArc                        = 'carc',                        /*  0x63617263  */
  544.     typeBest                    = 'best',                        /*  0x62657374  */
  545.     typeCell                    = 'ccel',                        /*  0x6363656c  */
  546.     typeClassInfo                = 'gcli',                        /*  0x67636c69  */
  547.     typeColorTable                = 'clrt',                        /*  0x636c7274  */
  548.     typeColumn                    = 'ccol',                        /*  0x63636f6c  */
  549.     typeDashStyle                = 'tdas',                        /*  0x74646173  */
  550.     typeData                    = 'tdta',                        /*  0x74647461  */
  551.     typeDrawingArea                = 'cdrw',                        /*  0x63647277  */
  552.     typeElemInfo                = 'elin',                        /*  0x656c696e  */
  553.     typeEnumeration                = 'enum',                        /*  0x656e756d  */
  554.     typeEPS                        = 'EPS ',                        /*  0x45505320  */
  555.     typeEventInfo                = 'evin'                        /*  0x6576696e  */
  556. };
  557.  
  558.  
  559. enum {
  560.     typeFinderWindow            = 'fwin',                        /*  0x6677696e  */
  561.     typeFixedPoint                = 'fpnt',                        /*  0x66706e74  */
  562.     typeFixedRectangle            = 'frct',                        /*  0x66726374  */
  563.     typeGraphicLine                = 'glin',                        /*  0x676c696e  */
  564.     typeGraphicText                = 'cgtx',                        /*  0x63677478  */
  565.     typeGroupedGraphic            = 'cpic',                        /*  0x63706963  */
  566.     typeInsertionLoc            = 'insl',                        /*  0x696e736c  */
  567.     typeIntlText                = 'itxt',                        /*  0x69747874  */
  568.     typeIntlWritingCode            = 'intl',                        /*  0x696e746c  */
  569.     typeLongDateTime            = 'ldt ',                        /*  0x6c647420  */
  570.     typeLongFixed                = 'lfxd',                        /*  0x6c667864  */
  571.     typeLongFixedPoint            = 'lfpt',                        /*  0x6c667074  */
  572.     typeLongFixedRectangle        = 'lfrc',                        /*  0x6c667263  */
  573.     typeLongPoint                = 'lpnt',                        /*  0x6c706e74  */
  574.     typeLongRectangle            = 'lrct',                        /*  0x6c726374  */
  575.     typeMachineLoc                = 'mLoc',                        /*  0x6d4c6f63  */
  576.     typeOval                    = 'covl',                        /*  0x636f766c  */
  577.     typeParamInfo                = 'pmin',                        /*  0x706d696e  */
  578.     typePict                    = 'PICT'                        /*  0x50494354  */
  579. };
  580.  
  581.  
  582. enum {
  583.     typePixelMap                = 'cpix',                        /*  0x63706978  */
  584.     typePixMapMinus                = 'tpmm',                        /*  0x74706d6d  */
  585.     typePolygon                    = 'cpgn',                        /*  0x6370676e  */
  586.     typePropInfo                = 'pinf',                        /*  0x70696e66  */
  587.     typeQDPoint                    = 'QDpt',                        /*  0x51447074  */
  588.     typeRectangle                = 'crec',                        /*  0x63726563  */
  589.     typeRGB16                    = 'tr16',                        /*  0x74723136  */
  590.     typeRGB96                    = 'tr96',                        /*  0x74723936  */
  591.     typeRGBColor                = 'cRGB',                        /*  0x63524742  */
  592.     typeRotation                = 'trot',                        /*  0x74726f74  */
  593.     typeRoundedRectangle        = 'crrc',                        /*  0x63727263  */
  594.     typeRow                        = 'crow',                        /*  0x63726f77  */
  595.     typeScrapStyles                = 'styl',                        /*  0x7374796c  */
  596.     typeScript                    = 'scpt',                        /*  0x73637074  */
  597.     typeStyledText                = 'STXT',                        /*  0x53545854  */
  598.     typeSuiteInfo                = 'suin',                        /*  0x7375696e  */
  599.     typeTable                    = 'ctbl',                        /*  0x6374626c  */
  600.     typeTextStyles                = 'tsty'                        /*  0x74737479  */
  601. };
  602.  
  603.  
  604. enum {
  605.     typeTIFF                    = 'TIFF',                        /*  0x54494646  */
  606.     typeVersion                    = 'vers'                        /*  0x76657273  */
  607. };
  608.  
  609.  
  610. enum {
  611.     kAEMenuClass                = 'menu',
  612.     kAEMenuSelect                = 'mhit',
  613.     kAEMouseDown                = 'mdwn',
  614.     kAEMouseDownInBack            = 'mdbk',
  615.     kAEKeyDown                    = 'kdwn',
  616.     kAEResized                    = 'rsiz',
  617.     kAEPromise                    = 'prom'
  618. };
  619.  
  620.  
  621. enum {
  622.     keyMenuID                    = 'mid ',
  623.     keyMenuItem                    = 'mitm',
  624.     keyCloseAllWindows            = 'caw ',
  625.     keyOriginalBounds            = 'obnd',
  626.     keyNewBounds                = 'nbnd',
  627.     keyLocalWhere                = 'lwhr'
  628. };
  629.  
  630.  
  631. enum {
  632.     typeHIMenu                    = 'mobj',
  633.     typeHIWindow                = 'wobj'
  634. };
  635.  
  636. #if FOR_SYSTEM8_COOPERATIVE
  637.  
  638. enum {
  639.                                                                 /* Scrap class*/
  640.     kAEScrapClass                = 'scrp',                        /* Scrap promise event id*/
  641.     kAEScrapPromise                = 'prom',                        /* Scrap data types*/
  642.     typeScrapRef                = 'sref',
  643.     typeScrapItemRef            = 'ssir',
  644.     typeScrapItemType            = 'ssit',
  645.     typeUserPromiseHint            = 'suph'
  646. };
  647.  
  648.  
  649. enum {
  650.                                                                 /* Clipboard class*/
  651.     kAEClipboardClass            = 'clip',                        /* Clipobard changed event id*/
  652.     kAEClipboardChanged            = 'chng',                        /* Clipboard data types*/
  653.     typeClipboardTypesBuffer    = 'type',                        /* Clipboard disposed id (includes a typeScrapRef)*/
  654.     kAEClipboardDisposed        = 'disp'
  655. };
  656.  
  657.  
  658. enum {
  659.                                                                 /* Drag class*/
  660.     kAEDragClass                = 'drag',                        /* Tracking event id's*/
  661.     kAEDragEnteredApplication    = 'dtea',
  662.     kAEDragLeftApplication        = 'dtla',
  663.     kAEDragMovedInWindow        = 'dtmw',
  664.     kAEDragEnteredWindow        = 'dtew',
  665.     kAEDragLeftWindow            = 'dtlw',                        /* Tracking events containg the following keyDirectObject's:*/
  666.                                                                 /* typeScrapRef*/
  667.                                                                 /* typeHIWindow*/
  668.                                                                 /* Receive event id*/
  669.     kAEDragReceived                = 'recv',                        /* Receive event contains the following keyDirectObject's:*/
  670.                                                                 /* typeScrapRef*/
  671.                                                                 /* typeHIWindow*/
  672.     kAEDragDrawBegin            = 'drdb',
  673.     kAEDragDraw                    = 'drdw',
  674.     kAEDragDrawHide                = 'drdh',
  675.     kAEDragDrawEnd                = 'drde',                        /* Drag draw event contains the following keyDirectObject:*/
  676.                                                                 /* typeScrapRef*/
  677.     typeDragShowRgn                = 'srgn',
  678.     typeDragShowOrigin            = 'sorg',
  679.     typeDragHideRgn                = 'hrgn',
  680.     typeDragHideOrigin            = 'horg'
  681. };
  682.  
  683. #endif
  684.  
  685. enum {
  686.     kBySmallIcon                = 0,
  687.     kByIconView                    = 1,
  688.     kByNameView                    = 2,
  689.     kByDateView                    = 3,
  690.     kBySizeView                    = 4,
  691.     kByKindView                    = 5,
  692.     kByCommentView                = 6,
  693.     kByLabelView                = 7,
  694.     kByVersionView                = 8
  695. };
  696.  
  697.  
  698. enum {
  699.     kAEInfo                        = 11,
  700.     kAEMain                        = 0,
  701.     kAESharing                    = 13
  702. };
  703.  
  704.  
  705. enum {
  706.     kAEZoomIn                    = 7,
  707.     kAEZoomOut                    = 8
  708. };
  709.  
  710. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  711.  
  712. enum {
  713.     kTextServiceClass            = 'tsvc',
  714.     kUpdateActiveInputArea        = 'updt',                        /* update the active input area */
  715.     kShowHideInputWindow        = 'shiw',                        /* show or hide the input window */
  716.     kPos2Offset                    = 'p2st',                        /* converting global coordinates to char position */
  717.     kOffset2Pos                    = 'st2p',                        /* converting char position to global coordinates */
  718.     keyAETSMDocumentRefcon        = 'refc',                        /* TSM document refcon, typeLongInteger */
  719.     keyAEServerInstance            = 'srvi',                        /* component instance */
  720.     keyAETheData                = 'kdat',                        /* typeText */
  721.     keyAEFixLength                = 'fixl',                        /* fix len ?? */
  722.     keyAEUpdateRange            = 'udng',                        /* typeTextRangeArray */
  723.     keyAECurrentPoint            = 'cpos',                        /* current point */
  724.     keyAEBufferSize                = 'buff',                        /* buffer size to get the text */
  725.     keyAEMoveView                = 'mvvw',                        /* move view flag */
  726.     keyAENextBody                = 'nxbd',                        /* next or previous body */
  727.     keyAETSMScriptTag            = 'sclg',
  728.     keyAETSMTextFont            = 'ktxf',
  729.     keyAETSMTextPointSize        = 'ktps',
  730.     typeTextRange                = 'txrn',                        /* TextRange */
  731.     typeComponentInstance        = 'cmpi',                        /* server instance */
  732.     typeOffsetArray                = 'ofay',                        /* offset array */
  733.     typeTextRangeArray            = 'tray',
  734.     typeText                    = typeChar                        /* Plain text */
  735. };
  736.  
  737. /* Desc type constants */
  738.  
  739. enum {
  740.     kTSMOutsideOfBody            = 1,
  741.     kTSMInsideOfBody            = 2,
  742.     kTSMInsideOfActiveInputArea    = 3
  743. };
  744.  
  745.  
  746. enum {
  747.     kNextBody                    = 1,
  748.     kPreviousBody                = 2
  749. };
  750.  
  751. struct TextRange {
  752.     long                             fStart;
  753.     long                             fEnd;
  754.     short                             fHiliteStyle;
  755. };
  756. typedef struct TextRange TextRange;
  757.  
  758. typedef TextRange *TextRangePtr;
  759. typedef TextRangePtr *TextRangeHandle;
  760. struct TextRangeArray {
  761.     short                             fNumOfRanges;                /* specify the size of the fRange array */
  762.     TextRange                         fRange[1];                    /* when fNumOfRanges > 1, the size of this array has to be calculated */
  763. };
  764. typedef struct TextRangeArray TextRangeArray;
  765.  
  766. typedef TextRangeArray *TextRangeArrayPtr;
  767. typedef TextRangeArrayPtr *TextRangeArrayHandle;
  768. struct OffsetArray {
  769.     short                             fNumOfOffsets;                /* specify the size of the fOffset array */
  770.     long                             fOffset[1];                    /* when fNumOfOffsets > 1, the size of this array has to be calculated */
  771. };
  772. typedef struct OffsetArray OffsetArray;
  773.  
  774. typedef OffsetArray *OffsetArrayPtr;
  775. typedef OffsetArrayPtr *OffsetArrayHandle;
  776. struct WritingCode {
  777.     ScriptCode                         theScriptCode;
  778.     LangCode                         theLangCode;
  779. };
  780. typedef struct WritingCode WritingCode;
  781.  
  782. struct IntlText {
  783.     ScriptCode                         theScriptCode;
  784.     LangCode                         theLangCode;
  785.     char                             theText[1];                    /* variable length data */
  786. };
  787. typedef struct IntlText IntlText;
  788.  
  789. #endif
  790. #if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
  791. /* Hilite styles */
  792.  
  793. enum {
  794.     kCaretPosition                = 1,                            /* specify caret position */
  795.     kRawText                    = 2,                            /* specify range of raw text */
  796.     kSelectedRawText            = 3,                            /* specify range of selected raw text */
  797.     kConvertedText                = 4,                            /* specify range of converted text */
  798.     kSelectedConvertedText        = 5,                            /* specify range of selected converted text */
  799.     kBlockFillText                = 6,                            /* Block Fill hilite style */
  800.     kOutlineText                = 7,                            /* Outline hilite style */
  801.     kSelectedText                = 8                                /* Selected hilite style */
  802. };
  803.  
  804.  
  805. enum {
  806.     keyAEHiliteRange            = 'hrng',                        /* typeTextRangeArray for System 7, typeHiliteRangeArray for System 8    */
  807.     keyAEPinRange                = 'pnrg',                        /* typeTextRange for System 7, typeTextRegionRange for System 8    */
  808.     keyAEClauseOffsets            = 'clau',                        /* typeOffsetArray for System 7, typeClauseOffsetArray for System 8 */
  809.     keyAEOffset                    = 'ofst',                        /* typeLongInteger for System 7, typeByteOffset for System 8    */
  810.     keyAEPoint                    = 'gpos',                        /* typePoint for System 7, typeQDPoint for System 8 */
  811.     keyAELeftSide                = 'klef',                        /* typeBoolean */
  812.     keyAERegionClass            = 'rgnc',                        /* typeShortInteger for System 7, typeRegionClass for System 8 */
  813.     keyAEDragging                = 'bool'                        /* typeBoolean */
  814. };
  815.  
  816. #endif
  817. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  818. #define keyAELeadingEdge        keyAELeftSide
  819. #endif
  820. #if FOR_SYSTEM8_COOPERATIVE
  821. /*
  822.  This is the Modern Text Event suite, it defines all the attributes for TextEvent, 
  823.  RawKeyEvents, CommandEvents, NavigationEvents, and VirtualKeyEvents. 
  824.  What's missing: Duplicates need to be resolved with other parts of the ModernEvents in this 
  825.  file! Tague needs to add the data for the Key,Command, and Navigation events.
  826. */
  827.  
  828. enum {
  829.     kAETextEventClass            = 'tevn',                        /* Modern Text Event Class */
  830.     kSystem7TextServiceClass    = 'tsvc',                        /* System7 TSM Event Class */
  831.     kAEUpdateActiveInputArea    = 'updt',                        /* update the active input area */
  832.     kAEPosToOffset                = 'p2st',                        /* converting global coordinates to char position */
  833.     kAEOffsetToPos                = 'st2p',                        /* converting char position to global coordinates */
  834.     kAEGetInputAreaRegion        = 'greg',                        /* Get input area */
  835.     kAEShowHideInputWindow        = 'shiw',                        /* show or hide the input window */
  836.     kAEInputModeChanged            = 'imcg',                        /* Input Method Mode Changed */
  837.     keyAETextEventText            = 'ktex',                        /* typeTextObject */
  838.     keyAETextInputObject        = 'ktio',                        /* typeTextInputObject */
  839.     keyAEFixedLength            = 'fixl',                        /* typeLongInteger  */
  840.     keyAEReplaceRange            = 'udng',                        /* typeReplaceRangeArray */
  841.     keyAEGetRegionRange            = 'grgn',                        /* typeGetRange */
  842.     keyAETextLineInfo            = 'tlin',                        /* typeTextLineInfo */
  843.     keyAEContext                = 'tsmc',                        /* typeTSMContext */
  844.     keyAEInlineOwner            = 'inow',                        /* typeTSMContext */
  845.     keyAEInlineID                = 'inid',                        /* typeLongInteger */
  846.     keyAEIsLeftSide                = 'klef',                        /* typeBoolean */
  847.     keyAEIsDragging                = 'bool',                        /* typeBoolean */
  848.     keyAELength                    = 'leng',                        /* typeByteCount */
  849.     keyAEShowHideInputWindow    = 'shiw',                        /* typeBoolean */
  850.     typeGetRange                = 'getr',                        /* GetRegionRange */
  851.     typeTextRegionRange            = 'trrn',                        /* TextRegionRange */
  852.     typeReplaceRangeArray        = 'tray',                        /* ReplaceRangeArray */
  853.     typeHiliteRangeArray        = 'hray',                        /* HiliteRangeArray */
  854.     typeClauseOffsetArray        = 'cofa',                        /* ClauseOffsetArray */
  855.     typeTextLineInfo            = 'tinf',                        /* TextLineInfo */
  856.     typeTextObject                = 'txto',                        /* TextObject */
  857.     typeTextInputObject            = 'tior',                        /* TextInputObject */
  858.     typeTSMContext                = 'tctx',                        /* TSMContext */
  859.     typeRegionClass                = 'rgnc',                        /* RegionClass/GetRegionClass */
  860.     typeByteOffset                = 'byto',                        /* ByteOffset */
  861.     typeByteCount                = 'bytc'                        /* ByteCount */
  862. };
  863.  
  864. typedef SInt32 HiliteStyle;
  865. /* Pos to offset results */
  866.  
  867. enum {
  868.     kOutsideOfBody                = 1,
  869.     kInsideOfBody                = 2,
  870.     kInsideOfActiveInputArea    = 3
  871. };
  872.  
  873. typedef OptionBits RegionClass;
  874. /* Get Region Actions */
  875.  
  876. enum {
  877.     kCurrentWord                = 0,                            /* Return the current word */
  878.     kCurrentSelection            = 1,                            /* Return the current selection */
  879.     kCurrentRegion                = 2,                            /* Return the region supplied by the caller */
  880.     kCurrentParagraph            = 3,                            /* Return the region supplied by the caller */
  881.     kCurrentInlineHole            = 4,                            /* Returns the current inline-hole */
  882.     kOpenNewInlineHole            = 5,                            /* Creates a new inline-hole */
  883.     kGetInsertPosition            = 6,                            /* Get the Insert Point */
  884.     kGetInlineHole                = 7,                            /* Get a specified inline hole */
  885.     kNextInlineHole                = 8                                /* Get the next inline hole */
  886. };
  887.  
  888. typedef OptionBits GetRegionClass;
  889. /* Hilite Range information */
  890. struct HiliteRange {
  891.     ByteOffset                         fStart;
  892.     ByteOffset                         fEnd;
  893.     HiliteStyle                     fHiliteStyle;
  894.     RGBColor                         fColor;
  895.     Point                             fPenSize;
  896. };
  897. typedef struct HiliteRange HiliteRange;
  898.  
  899. typedef HiliteRange *HiliteRangePtr;
  900. struct HiliteRangeArray {
  901.     ItemCount                         fNumOfRanges;                /* specify the size of the fRange array */
  902.     HiliteRange                     fRange[1];                    /* when fNumOfRanges > 1, the size of this array has to be calculated */
  903. };
  904. typedef struct HiliteRangeArray HiliteRangeArray;
  905.  
  906. typedef HiliteRangeArray *HiliteRangeArrayPtr;
  907. /* Text Line specification */
  908. struct TextLineInfo {
  909.     Point                             fLeadingBasePt;                /* Current Cursor Point     */
  910.     short                             fFontID;                    /* Texts Font ID             */
  911.     short                             fPointSize;                    /* Point Size of text         */
  912.     short                             fLineHeight;                /* Line height of text         */
  913.     short                             fLineAscent;                /* Line Ascent of text         */
  914.     short                             fLineAngle;                    /* Angle of Text             */
  915.     RGBColor                         fFgColor;                    /* ForeGround color         */
  916.     RGBColor                         fBkColor;                    /* ForeGround color         */
  917. };
  918. typedef struct TextLineInfo TextLineInfo;
  919.  
  920. typedef TextLineInfo *TextLineInfoPtr;
  921. /* Text Range specification */
  922. struct TextRegionRange {
  923.     ByteOffset                         fStart;
  924.     ByteOffset                         fEnd;
  925. };
  926. typedef struct TextRegionRange TextRegionRange;
  927.  
  928. typedef TextRegionRange *TextRegionRangePtr;
  929. /* Replace Range specification */
  930. struct ReplaceRange {
  931.     ByteOffset                         fOldStart;
  932.     ByteOffset                         fOldEnd;
  933.     ByteOffset                         fNewStart;
  934.     ByteOffset                         fNewEnd;
  935. };
  936. typedef struct ReplaceRange ReplaceRange;
  937.  
  938. typedef ReplaceRange *ReplaceRangePtr;
  939. struct ReplaceRangeArray {
  940.     ItemCount                         fNumOfRanges;                /* specify the size of the fRange array */
  941.     ReplaceRange                     fRange[1];                    /* when fNumOfRanges > 1, the size of this array has to be calculated */
  942. };
  943. typedef struct ReplaceRangeArray ReplaceRangeArray;
  944.  
  945. typedef ReplaceRangeArray *ReplaceRangeArrayPtr;
  946. /* Get Region specification */
  947. struct GetRegionRange {
  948.     long                             fRequestStart;
  949.     long                             fRequestEnd;
  950.     ByteOffset                         fTotalRangeStart;
  951.     ByteOffset                         fTotalRangeEnd;
  952. };
  953. typedef struct GetRegionRange GetRegionRange;
  954.  
  955. typedef GetRegionRange *GetRegionRangePtr;
  956. struct ClauseOffsetArray {
  957.     ItemCount                         fNumOfOffsets;                /* specify the size of the fOffset array */
  958.     ByteOffset                         fOffset[1];                    /* when fNumOfOffsets > 1, the size of this array has to be calculated */
  959. };
  960. typedef struct ClauseOffsetArray ClauseOffsetArray;
  961.  
  962. typedef ClauseOffsetArray *ClauseOffsetArrayPtr;
  963. #endif
  964.  
  965. #if PRAGMA_ALIGN_SUPPORTED
  966. #pragma options align=reset
  967. #endif
  968.  
  969. #if PRAGMA_IMPORT_SUPPORTED
  970. #pragma import off
  971. #endif
  972.  
  973. #ifdef __cplusplus
  974. }
  975. #endif
  976.  
  977. #endif /* __AEREGISTRY__ */
  978.  
  979.